home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
COMAL
/
B-Book Series
/
(k)b4.d64
/
quicksort.l
< prev
next >
Wrap
Text File
|
2007-02-28
|
749b
|
23 lines
0010 DIM NAME$(11) OF 3, COMP$ OF 3, TEMP$ OF 3
0020 FOR K:=1 TO 11 DO READ NAME$(K)
0030 QUICK(1,11)
0040 FOR K:=1 TO 11 DO PRINT NAME$(K);" ";
0050 PROC QUICK(LEND,REND)
0060 LEFT':=LEND; RIGHT':=REND
0070 COMP$:=NAME$((LEFT'+RIGHT') DIV 2)
0080 REPEAT
0090 WHILE NAME$(LEFT')<COMP$ DO LEFT':=LEFT'+1
0100 WHILE NAME$(RIGHT')>COMP$ DO RIGHT':=RIGHT'-1
0110 IF LEFT'<=RIGHT' THEN SWAP
0120 UNTIL LEFT'>RIGHT'
0130 IF LEND<RIGHT' THEN QUICK(LEND,RIGHT')
0140 IF LEFT'<REND THEN QUICK(LEFT',REND)
0150 ENDPROC QUICK
0160 PROC SWAP
0170 TEMP$:=NAME$(LEFT')
0180 NAME$(LEFT'):=NAME$(RIGHT')
0190 NAME$(RIGHT'):=TEMP$
0200 LEFT':=LEFT'+1; RIGHT':=RIGHT'-1
0210 ENDPROC SWAP
9030 DATA "JIM","BEN","ZOE","PAT","VAL","KEN","RON","HAL","LEN","ALF","TOM"